
package controllers;

import dao.DaoPessoa;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import dao.DaoSecretario;
import model.Secretario;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import javax.faces.bean.ViewScoped;


@ManagedBean
@ViewScoped
public class ControllerSecretarios {

    
    private String status = "Novo";
    private String id="";
    private String nome="";
    private String login="";
    private String senha="";
    private boolean desabilitar = false;
    private DaoSecretario daoSecretario = new DaoSecretario();
    private DaoPessoa daoPessoa = new DaoPessoa();
    List<Secretario> secretarios = daoSecretario.listarTodos();
    
    public ControllerSecretarios() {
    }

    public boolean isDesabilitar() {
        return desabilitar;
    }

    public void setDesabilitar(boolean desabilitar) {
        this.desabilitar = desabilitar;
    }
    
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }
    
    public String getNome(){
        return nome;
    }
    
    public void setNome(String nome){
        this.nome = nome;
    }
    
    public String getLogin(){
        return login;
    }
    
    public void setLogin(String login){
        this.login = login;
    }
    
    public String getSenha(){
        return senha;
    }
    
    public void setSenha(String senha){
        this.senha = senha;
    }
    
    public List<Secretario> getSecretarios(){
        return secretarios;
    }
    
    public void setSecretarios(List<Secretario> secretarios){
        this.secretarios = secretarios;
    }
      public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
    
     public void novo(){
        setStatus("Novo");
         setId("");
        setLogin("");
        setNome("");
        setSenha("");
    }
    
   
     
     public void gravar(){
        if (getId().equals("")){
            if (!this.daoPessoa.buscarPorLogin(getLogin())){
                Secretario s = new Secretario();
                s.setNome(getNome());
                s.setUsuario(getLogin());
                s.setSenha(getSenha());
                this.daoSecretario.inserir(s);
            
                setLogin("");
                setNome("");
                setSenha("");
                setStatus("Novo");
                this.secretarios = daoSecretario.listarTodos();                        
                
                util.UtilWeb.enviarMessagemInfo("MSG", "Usuário criado com sucesso");                
            }else{
                util.UtilWeb.enviarMessagemErro("MSG", "Usuário já está cadastrado");
            }
        }else{
            Secretario s = (Secretario) this.daoSecretario.buscarPorId(Long.parseLong(getId()));
            s.setNome(getNome());
            s.setSenha(getSenha());
            daoSecretario.atualizar(s);
            setDesabilitar(false);
            
            setId("");
            setLogin("");
            setNome("");
            setSenha("");
            setStatus("Novo");
            this.secretarios = daoSecretario.listarTodos();                    
            
            util.UtilWeb.enviarMessagemInfo("MSG", "Usuário alerado com sucesso");                            
        }
    }
    
    public void atualizar(int id){
        Secretario s = (Secretario)daoSecretario.buscarPorId(new Long(id));
        setStatus("Alterar");
        setId(""+s.getId());
        setLogin(s.getUsuario());
        setNome(s.getNome());
        setSenha(s.getSenha());
        setDesabilitar(true);
    }
    
    public void excluir(int id){
        Secretario s = (Secretario) daoSecretario.buscarPorId(new Long(id));
        this.daoSecretario.excluir(s);
    
        this.secretarios =daoSecretario.listarTodos();       
        util.UtilWeb.enviarMessagemInfo("msg", "Registro excluído com sucesso!");
    }
}
